const declare = {
  state: {
    appraisal: '', // 是否已评审(1:未评审 ，2:已评审
    baseId: '', // 项目ID
    baseName: '', // 项目名称
    beTime: '', // 项目起止时间
    callEmail: '', // 联系人E-MAIL
    callFax: '', // 联系人传真
    callName: '', // 联系人姓名
    callPhone: '', // 联系人手机
    callTel: '', // 联系人电话
    content: `<p>1. 立项背景（不超过800字）</p>
    <p>&nbsp;</p>
    <p>2. 详细技术内容</p>
    <p>&nbsp;</p>
    <p>3. 与当前国内外同类技术主要参数、效益、市场竞争力的比较</p>
    <p>&nbsp;</p>
    <p>4. 应用情况（不超过800字）</p>
    <p>&nbsp;</p>
    <p>5. 经济效益与社会效益</p>
    <p>&nbsp;</p>`, // 项目详细内容
    deptName: '', // 完成单位
    domain: '', // 项目涉及的领域 字典值：pro_domain
    grade:'', // 奖项等级
    doneUsers: '', // 主要完成人
    fileIds: [],
    fileList: [],
    instanceId: '', // 流程实例ID
    isOpen: '', // 项目内容可否公布
    // prizeType: {}, // 奖项类型对象
    prizeTypeId: '', // 奖项类型ID
    repPrizeType: '', // 申报奖项类别 字典值：pro_prize_type
    secretLevel: '', // 项目密级
    source: '', // 任务来源
    state: '', // 状态
    synopsis: '', // 项目简介
    taskEnable: '', // 是否有权限处理任务(0:无权限，不显示按钮 ，1:有权限，显示按钮)
    taskId: '', // 任务id，任务提交时需要传这个值
    zyjscxd: '', // 主要技术创新点
    proDoneUsersList: [
      {
        // 主要完成人情况
        academic: '', // 学位
        address: '', // 通讯地址
        age: '', // 年龄
        baseId: '', // 项目ID
        education: '', // 文化程度
        email: '', // 用户邮箱
        fax: '', // 传真
        graduation: '', // 毕业时间
        nation: '', // 民族
        num: '', // 第几完成人
        phone: '', // 手机号码
        positional: '', // 职务、职称
        postal: '', // 邮政编码
        prizeHis: '', // 曾获奖励及荣誉称号情况
        proContributione: '', // 本人对项目技术创造性贡献
        proTime: '', // 参加本项目的起止时间
        school: '', // 毕业学校
        sex: '', // 用户性别 字典值：sys_user_sex
        speciality: '', // 专业、专长
        tel: '', // 联系电话
        userName: '', // 用户账号
        workUnit: '', // 工作单位
      },
    ],
    proDoneOrgList: [
      {
        // 主要完成单位情况信息
        address: '', // 通讯地址
        baseId: '', // 项目ID
        callName: '', // 联系人
        email: '', // 用户邮箱
        nature: '', // 单位性质
        num: '', // 第几完成单位
        orgName: '', // 单位名称
        phone: '', // 手机号码
        postal: '', // 邮政编码
        proContributione: '', // 技术开发和应用的主要贡献
        tel: '', // 联系电话
      },
    ],
    proUseOrgList: [
      // 项目应用单位对象
      {
        baseId: '', // 项目ID
        beginTime: '', // 应用起始时间
        callNamePhone: '', // 应用单位联系人及电话
        money: '', // 使用本项目产生的经济效益（元）
        orgName: '', // 单位名称
        prove: '', // 已提交应用证明
        useOrgId: '', //
      },
    ],
    proIntellectualPropertyEvidenceList: [
      {
        appId: '', // 申请号
        authId: '', // 授权号
        baseId: '', // 项目ID
        countries: '', // 国别
        eviId: '', //
        eviName: '', // 授权（申请）项目名称
        eviType: '', //
      },
    ],
    proPrizeHisList: [
      {
        baseId: '', // 项目ID
        deptName: '', // 授奖部门（单位）
        getTime: '', //获奖时间
        prizeLevel: '', // 奖项等级
        prizeName: '', // 奖项名称
        remark: '', //备注
      },
    ], // 本项目管获科技奖助情况
    jspjzm: '', // 技术评价证明及国家发律法规要求行业审批文件目录
  },
  mutations: {
    // 修改单个值
    SET_DECLARE_ITEM(state, option) {
      state[option.ajaxStr] = option.value
    },
    // 整体覆盖
    SET_DECLARE_ALL(state, option) {
      state = Object.assign(state, option)
    },
    // 过滤格式
    FILTER_DECLARE_DATA(state, option) {
      Object.keys(state).forEach((key) => {
        state[key] = option[key] || option.proTech[key]
        // Object.keys(state.proTech).forEach(
        //   (k) => ()
        // )
      })
      console.log("--->",state);
    },
    // 重置
    RESET_STATE(state) {
      Object.keys(state).forEach((i) => {
        typeof state[i] !== 'object' && (state[i] = null)
        Array.isArray(state[i]) &&
          state[i].forEach((j, k) => (state[i][k] = ''))
      })
    },
    // 赋值baseId
    SET_BASE_ID(state, option) {
      state.baseId = option
      Object.keys(state).forEach((i) => {
        typeof state[i] == 'object' &&
          'baseId' in state[i] &&
          (state[i].baseId = option)
        Array.isArray(state[i]) &&
          state[i].forEach((j, k) => (state[i][k].baseId = option))
      })
    },
  },
}

export default declare
